<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>$(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum)</TargetFrameworks>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <DefineConstants>$(DefineConstants);CP_NO_ZEROMEMORY</DefineConstants>
    <UseCompilerGeneratedDocXmlFile>false</UseCompilerGeneratedDocXmlFile>
    <IsPackable>true</IsPackable>
    <PackageDescription>Provides classes that can read and write the ASN.1 BER, CER, and DER data formats.

Commonly Used Types:
System.Formats.Asn1.AsnReader
System.Formats.Asn1.AsnWriter</PackageDescription>
  </PropertyGroup>

  <ItemGroup>
    <Compile Include="$(CommonPath)System\Security\Cryptography\CryptoPool.cs">
      <Link>Common\System\Security\Cryptography\CryptoPool.cs</Link>
    </Compile>
    <Compile Include="System\Formats\Asn1\Asn1Tag.cs" />
    <Compile Include="System\Formats\Asn1\Asn1Tag.Accelerators.cs" />
    <Compile Include="System\Formats\Asn1\AsnCharacterStringEncodings.cs" />
    <Compile Include="System\Formats\Asn1\AsnContentException.cs" />
    <Compile Include="System\Formats\Asn1\AsnEncodingRules.cs" />
    <Compile Include="System\Formats\Asn1\AsnDecoder.cs" />
    <Compile Include="System\Formats\Asn1\AsnDecoder.BitString.cs" />
    <Compile Include="System\Formats\Asn1\AsnDecoder.Boolean.cs" />
    <Compile Include="System\Formats\Asn1\AsnDecoder.Enumerated.cs" />
    <Compile Include="System\Formats\Asn1\AsnDecoder.GeneralizedTime.cs" />
    <Compile Include="System\Formats\Asn1\AsnDecoder.Integer.cs" />
    <Compile Include="System\Formats\Asn1\AsnDecoder.NamedBitList.cs" />
    <Compile Include="System\Formats\Asn1\AsnDecoder.Null.cs" />
    <Compile Include="System\Formats\Asn1\AsnDecoder.OctetString.cs" />
    <Compile Include="System\Formats\Asn1\AsnDecoder.Oid.cs" />
    <Compile Include="System\Formats\Asn1\AsnDecoder.Sequence.cs" />
    <Compile Include="System\Formats\Asn1\AsnDecoder.SetOf.cs" />
    <Compile Include="System\Formats\Asn1\AsnDecoder.Text.cs" />
    <Compile Include="System\Formats\Asn1\AsnDecoder.UtcTime.cs" />
    <Compile Include="System\Formats\Asn1\AsnReaderOptions.cs" />
    <Compile Include="System\Formats\Asn1\AsnWriter.cs" />
    <Compile Include="System\Formats\Asn1\AsnWriter.BitString.cs" />
    <Compile Include="System\Formats\Asn1\AsnWriter.Boolean.cs" />
    <Compile Include="System\Formats\Asn1\AsnWriter.Enumerated.cs" />
    <Compile Include="System\Formats\Asn1\AsnWriter.GeneralizedTime.cs" />
    <Compile Include="System\Formats\Asn1\AsnWriter.Integer.cs" />
    <Compile Include="System\Formats\Asn1\AsnWriter.NamedBitList.cs" />
    <Compile Include="System\Formats\Asn1\AsnWriter.Null.cs" />
    <Compile Include="System\Formats\Asn1\AsnWriter.OctetString.cs" />
    <Compile Include="System\Formats\Asn1\AsnWriter.Oid.cs" />
    <Compile Include="System\Formats\Asn1\AsnWriter.Sequence.cs" />
    <Compile Include="System\Formats\Asn1\AsnWriter.SetOf.cs" />
    <Compile Include="System\Formats\Asn1\AsnWriter.Text.cs" />
    <Compile Include="System\Formats\Asn1\AsnWriter.UtcTime.cs" />
    <Compile Include="System\Formats\Asn1\SetOfValueComparer.cs" />
    <Compile Include="System\Formats\Asn1\TagClass.cs" />
    <Compile Include="System\Formats\Asn1\UniversalTagNumber.cs" />
    <Compile Include="System\Formats\Asn1\WellKnownOids.cs" />
    <Compile Include="$(CommonPath)System\Obsoletions.cs" Link="Common\System\Obsoletions.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFramework)' == '$(NetCoreAppCurrent)'">
    <Reference Include="System.Collections" />
    <Reference Include="System.Memory" />
    <Reference Include="System.Runtime" />
    <Reference Include="System.Runtime.InteropServices" />
    <Reference Include="System.Runtime.Numerics" />
    <Reference Include="System.Text.Encoding.Extensions" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' != '.NETCoreApp'">
    <PackageReference Include="System.Buffers" Version="$(SystemBuffersVersion)" />
    <PackageReference Include="System.Memory" Version="$(SystemMemoryVersion)" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">
    <PackageReference Include="System.ValueTuple" Version="$(SystemValueTupleVersion)" />
    <Reference Include="System.Numerics" />
  </ItemGroup>

</Project>
